Удаление лишних выражений[2]
Если результат вычисления некоторого выражения никак не используется в программе, то, очевидно, выполнять вычисление выражение нет никакой нужды. Как же возникает такой бессмысленный код? Чаще всего – из-за небрежности программиста, привыкшего сначала программировать, а потом думать, что он запрограммировал.
Рассмотрим следующий пример:
c = a/b;
c = a*b;
printf("%x\n",c);
Поскольку, результат вычислений выражения (a/b) никак не используется в программе, его можно удалить, избавляясь тем самым от одной операции деления и присвоения, смотрите:
c = a/b;
c = a*b;
printf("%x\n",c);
Все три рассматриваемых компилятора с лихвой справляются с удалением лишних выражений.